package com.mm.serivce.mp;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mm.domain.taxi.DTaxiOrderInfo;
import com.mm.vo.mp.TaxiOrderRep;
import com.mm.vo.mp.TaxiOrderReq;

/**
 * <p>
 * 打车订单表 服务类
 * </p>
 *
 * @author JueDream
 * @since 2021-08-04
 */
public interface TaxiOrderInfoService extends IService<DTaxiOrderInfo> {

    /**
     * 根据OpenId查询订单
     * @param page
     * @param limit
     * @param orderReq
     * @return
     */
    Page<TaxiOrderRep> queryTaxiOrderWechat(Integer page, Integer limit, TaxiOrderReq orderReq);

    /**
     * 根据OpenId查询订单详情
     * @param orderReq
     * @return
     */
    TaxiOrderRep queryTaxiOrderWechatDetail(TaxiOrderReq orderReq);

    /**
     * 根据订单ID更新订单状态
     * @param orderId
     * @param orderStatus
     * @return
     */
    boolean updateOrderStatus(Integer orderId, Integer orderStatus);

    /**
     * 根据订单号更新订单状态
     * @param orderCode
     * @param orderStatus
     * @return
     */
    boolean updateOrderStatus(String orderCode, Integer orderStatus);

    /**
     * 根据订单ID更新用户订单关系
     * @param orderId
     * @param dOpenId
     * @return
     */
    boolean updateUserOrderRelation(Integer orderId, String dOpenId);


    /**
     * 根据订单ID查询订单信息
     * @param orderId
     * @return
     */
    DTaxiOrderInfo getOrderInfo(Integer orderId);

    /**
     * 根据订单Code查询订单信息
     * @param orderCode
     * @return
     */
    DTaxiOrderInfo getOrderInfoByCode(String orderCode);
}
